home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / READ-TRACK.SDA / READ TRK.TXT < prev   
Encoding:
Text File  |  2019-04-13  |  7.2 KB  |  173 lines

  1.  
  2.  
  3.  
  4.  
  5.                                   ╥EAD ╘RACK
  6.      
  7.                                       BY
  8.      
  9.                                     ═L ┬UG
  10.      
  11.                                 ├OPYRIGHT 1987
  12.      
  13.                               ┴LL ╥IGHTS ╥ESERVED
  14.      
  15.           ┴ FEW WEEKS BACK, ╔ WAS SHOWN A COMMERCIAL COPIER THAT CLAIMED TO
  16.      CONVERT ╟├╥ DATA TO BINARY. ╔T DIDN'T WORK! ╙O ╔ THOUGHT IT WAS TIME
  17.      TO DISTRIBUTE MY ╟├╥ CONVERSION ROUTINE ╔ WROTE TWO YEARS AGO.
  18.      
  19.           ╘HIS ROUTINE REQUIRES YOU HAVE A MACHINE LANGUAGE MONITOR
  20.      RESIDING AT $C000. ╫HEN THE ROUTINE ENDS, IT BREAKS BACK TO THE
  21.      MONITOR THERE SO YOU CAN CONTINUE.
  22.      
  23.           ╥EAD TRACK READS ANY TRACK OR HALF TRACK, WITH EITHER STANDARD OR
  24.      NON-STANDARD DENSITY.
  25.      
  26.           ╘HE DATA IS TRANSFERED TO THE 64 IN GROUP CODE RECORDING, (╟├╥),
  27.      AND CAN BE CONVERTED TO BINARY FOR INSPECTION.
  28.      
  29.           ╟ROUP CODE RECORDING IS ├OMMODORES WAY OF INSURING AN ERROR FREE
  30.      READ AND WRITE TO THE DISK. ╙IMPLY STATED, AN EIGHT BIT BINARY WORD IS
  31.      CONVERTED TO A TEN BIT ╟├╥ WORD. ╬ONE OF THESE TEN BIT ╟├╥ WORDS WILL
  32.      BE THE NUMBER #$FF. ╘HIS IS RESERVED BY THE DOS AS A SYNC BYTE USED BY
  33.      THE DOS TO IDENTIFY THE BEGINNING AND ENDING OF HEADERS AND ACTUAL
  34.      DATA.
  35.      
  36.           ╒NDER NORMAL CONDITIONS A HEADER BLOCK CONSISTS OF 16 BYTES. ╘HE
  37.      DATA CONTAINED IS AS FOLLOWS.
  38.      
  39.      ┬YTE 0 IS A SYNC MARK. ╘HE DOS KNOWS THAT WHAT TO FOLLOW IS DATA.
  40.      
  41.      ┬YTE 1 ╚EADER BLOCK ╔.─.. ╔N ╟├╥ THIS WOULD BE AN #$55, WHEN CONVERTED
  42.      TO BINARY IT WOULD BE AN #$08.
  43.      
  44.      ┬YTE 2 ╚EADER BLOCK CHECKSUM. ─ERIVED BY EXCLUSIVE ORING, (EOR), THE
  45.      TRACK NUMBER, SECTOR NUMBER, AND THE TWO ╔.─. CHARACTERS USED TO
  46.      FORMAT THE DISK.
  47.      
  48.      ┬YTE 3 ╙ECTOR NUMBER.
  49.      
  50.      ┬YTE 4 ╘RACK NUMBER.
  51.      
  52.      ┬YTE 5 ╙ECOND ╔.─. CHARACTER.
  53.      
  54.      ┬YTE 6 ╞IRST ╔.─. CHARACTER.
  55.      
  56.      ╘HE REST OF THE HEADER WOULD BE THE NUMBER #$55 IN ╟├╥, #$0F IN
  57.      BINARY. ╘HEY ARE USED AS SPACING, (TIMING), TO GIVE THE DOS TIME TO
  58.      PREPARE TO READ THE DATA THAT FOLLOWS.
  59.      
  60.           ─ENSITY HAS NO EFFECT ON THE HEADER DATA, ONLY THE ACTUAL 256
  61.      BYTES OF DATA FOR THAT SECTOR. ╘HE HEADER CAN BE READ USING ANY
  62.      DENSITY.
  63.      
  64.           ┴FTER THE ROUTINE IS FINISHED, THIS HEADER INFORMATION CAN BE READ BY DISPLAYING MEMORY AT $8000.
  65.  
  66.      ╘HE DATA BLOCK HAS IT'S OWN HEADER INFORMATION ALSO. ╔T IS AS
  67.      FOLLOWS.
  68.      
  69.      ┬YTE 0 ╙YNC MARK. ╘HIS NUMBER CAN BE ANY NUMBER ENDING IN "F", I.E.,
  70.      #$FF, #$3F ETC..
  71.      
  72.      ┬YTE 1 ─ATA BLOCK ╔.─.. ╘HE #$55 ╟├╥, AND WHEN CONVERTED #$07 BINARY.
  73.      
  74.           ╘HIS IS FOLLOWED BY THE 256 BYTES OF DATA FOR THAT SECTOR.
  75.      
  76.           ┴FTER THE DATA IS THE CHECKSUM FOR THAT SECTOR, FOUND BY
  77.      EXCLUSIVE ORING THE 256 BYTES OF DATA.
  78.      
  79.           ╫HEN 256 BYTES OF BINARY IS CONVERTED TO ╟├╥, YOU END UP WITH 326
  80.      BYTES OF ╟├╥.
  81.      
  82.           ╨ROTECTED DISKS USUALLY DO NOT FOLLOW THE STANDARD CODING
  83.      MENTIONED ABOVE. ┴T TIMES HEADER BLOCKS CAN BE MORE OR LESS THAN 16
  84.      BYTES LONG, AND THE ╔.─. CHARACTERS WILL NOT BE THE SAME. ╞OR INSTANCE
  85.      THE HEADER ╔.─. MAY BE AN #$53, AND THE DATA BLOCK ╔.─. WILL BE AN
  86.      #$54, BUT YOU CAN STILL SPOT THE BEGINNING OF THE DATA BLOCK BY THE
  87.      SYNC MARK PRECEDING IT END IN "F".
  88.      
  89.           ╔ SUGGEST YOU PRACTICE GETTING FARMILIAR WITH ╟├╥ USING STANDARD
  90.      FORMATED DISKS AT FIRST. ╘HEN GO ON TO PROTECTED DISKS.
  91.      
  92.           ╥EAD TRACK ASKS FOR INFORMATION BEFORE READING A TRACK. ╔T ASKS
  93.      FOR THE TRACK NUMBER. ╘HIS CAN BE FROM 1 TO 44, AND MUST BE ENTERED IN
  94.      DECIMAL. ╔F THE NUMBER IS LESS THAN 10, THEN ENTER IT IN TWO NUMBERS,
  95.      I.E., 09. ╔T THEN ASKS IF YOU WANT TO READ A HALF TRACK, (DATA WRITEN
  96.      BETWEEN NORMAL TRACKS. ╔F YOU ANSWER YES, THE THE HALF TRACK READ WILL
  97.      BE ONE HALF LESS THE TRACK ENTERED. ╔F YOU CHOSE TRACK 9, THEN TRACK 8
  98.      1/2 WILL BE READ. ┴FTER THIS YOU ARE ASKED FOR THE DENSITY, (SPEED AT
  99.      WHICH READ WILL TAKE PLACE). ╘HE STANDARD DENSITIES FOR EACH TRACK ARE
  100.      DISPLAYED. ╘RACKS ABOVE 35 ARE USUALLY READ WITH DENSITY NUMBER FOUR,
  101.      BUT COULD HAVE BEEN FORMATED AT ANY DENSITY.
  102.      
  103.           ╘HE ROUTINE THEN STARTS. ┴FTER A SECOND OR TWO YOU WILL SEE TWO
  104.      ROWS OF NUMBERS. ╘HESE ARE THE ERROR CODES FOUND FOR EACH SECTOR ON
  105.      THE TRACK. ╘HE ERROR CODES YOU WILL ECOUNTER ARE AS FOLLOWS.
  106.      
  107.      #$01 ╧K NO ERROR.
  108.      
  109.      #$02 ╚EADER BLOCK NOT FOUND. ╘HIS MEANS THE TRACK NUMBER HAS BEEN
  110.      CHANGED. ╞OR INSTANCE TRACK 8 WAS FORMATED AS TRACK 5.
  111.      
  112.      #$03 ╬O SYNC FOUND. ├OULD BE AN EMPTY TRACK, OR ╔ HAVE FOUND THAT THE
  113.  
  114.      HALF TRACK BELOW IS WHERE THE DATA IS.
  115.      
  116.      #$04 ─ATA BLOCK NOT FOUND. ╙AME AS HEADER BLOCK NOT FOUND.
  117.      
  118.      #$05 ─ATA BLOCK CHECKSUM ERROR. ╘HE CHECKSUM HAS BEEN ALTERED.
  119.      
  120.      #$07 ╓ERIFY ERROR AFTER WRITE. ╔'VE NEVER ENCOUNTERED THIS ONE.
  121.      
  122.      #$08 ╫RITE PROTECT ERROR. ╧NLY FOUND ON A WRITE TO DISK.
  123.      
  124.      #$09 ╚EADER BLOCK CHECKSUM ERROR. ╘HE CHECKSUM WAS ALTERED.
  125.      
  126.      #$0A ─ATA BLOCK TOO LONG. ═ORE THAN 256 BYTES OF DATA.
  127.      
  128.      #$0B ╔.─. MISMATCH. ╘HE TRACK HAS A DIFFERENT ╔.─. THAN THE ONE USED
  129.      TO FORMAT THE DISK.
  130.      
  131.      #$10 ┬YTE DECODING ERROR. ╘HE ╟├╥ CONVERSION FAILED.
  132.      
  133.           ┴FTER THE ERROR CODES ARE DISPLAYED THE ROUTINE STARTS TO GATHER
  134.      ╟├╥ DATA. ╔T IS PLACED INTO THE 64'S MEMORY STARTING AT $1000. ┼ACH
  135.      BLOCK OF DATA REQUIRES 512 BYTES OF MEMORY. ╘HAT IS BECAUSE IT IS
  136.      GATHERING 326 BYTES OF ╟├╥ DATA PLUS THE HEADER BLOCK INFORMATION. ╘HE
  137.      DATA IS PLACED IN ORDER. ╔.┼., SECTOR 0 IS AT $1000, SECTOR 1 IS AT
  138.      $1200 ETC..
  139.      
  140.           ╧NCE THE ROUTINE ENDS, YOU ARE READY TO CONVERT THE DATA. ╒SEING
  141.      A MACHINE LANGUAGE MONITOR RESIDING AT $C000, TRANSFER 512 BYTES OF
  142.      ╟├╥ CODE TO $7C00. (T 1000 1200 7C00). ╘HEN G 7200. ╘HE GCR CODE IS
  143.      NOW CONVERTED TO BINARY, AND CAN BE READ BY DISPLAYNG DATA STARTING AT
  144.      $7A00. (M 7A00).
  145.      
  146.           ╘HE FIRST 16 BYTES OF DATA AT $7A00 IS THE HEADER BLOCK. ╔T CAN
  147.      BE INDENTIFIED BY THE #$08 PRECEDING IT. ┴FTER THAT IS THE DATA FOR
  148.      THE SECTOR. ╔DENTIFIED BY THE #$07 PRECEDING IT.
  149.      
  150.           ╬ORMALY DATA ABOVE TRACK 40 IS RARE. ╔F YOU TRY READING TRACKS
  151.      HIGHER THAN 40 YOU MAY LOCK THE HEAD UP OUT THERE. ╔T CAUSES NO DAMAGE
  152.      TO THE DRIVE, BUT GETTING THE HEAD BACK IS A PAIN. ╘O UNLOCK THE HEAD
  153.      JUST TRY LOADING * FROM BASIC. ╔T MAY TAKE A FEW ATTEMPTS THE THE
  154.      DRIVE PART, BUT THE HEAD WILL UNLOCK AND GO BACK TO NORMAL.
  155.      
  156.           ╒SE WRITE PROTECT TABS ON ALL DISKS. ╔ HAVE BEEN USING THIS
  157.      ROUTINE FOR TWO YEARS WITH NO PROBLEMS, BUT WHY TAKE A CHANCE?
  158.      
  159.           ╘O LOAD THIS ROUTINE LOAD READ TRACK WITH A MACHINE LANGUAGE
  160.      MONITOR, OR FROM BASIC USING A ,1. ╘HEN EITHER G 7000 OR SYS7*4096.
  161.      
  162.           ╘HIS PROGRAM MAY BE COPIED AND PASSED ON TO OTHERS, AS LONG AS IT
  163.      IS COPIED IN IT'S ENTIRITY. ╔NCLUDING ANY DOCUMENTATION PROVIDED.
  164.      
  165.           ╘HE SOURCE CODE FOR THIS PROGRAM IS AVAILABLE FOR $15.00. ╙END
  166.      CHECK OR MONEY ORDER, A POSTAGE PAID MAILER, AND BLANK DISK TO-
  167.  
  168.      
  169.      ├. ╠E ═IEUX
  170.      164 ╩ACKSON ┴V.
  171.      ┴LLENSTOWN, ╬.╚. 03275
  172.                                                                            
  173.